/**
 * 
 */
package br.unifor.mia.aes.adventure.console.acoes;

import java.util.ArrayList;
import java.util.List;

/**
 * @author Landim
 *
 */
public class AcaoConsoleFabrica {

	private static List<Acao> acoes;
	
	public AcaoConsoleFabrica() {
		acoes = new ArrayList<Acao>();
		acoes.add(AcaoAndar.getInstance());
		acoes.add(AcaoListarComandos.getInstance());
		acoes.add(AcaoDescreverEstadoAtual.getInstance());
		acoes.add(AcaoSair.getInstance());
		acoes.add(AcaoPegarItem.getInstance());
		acoes.add(AcaoSalvar.getInstance());
		acoes.add(AcaoCarregar.getInstance());
		acoes.add(AcaoCriarJogador.getInstance());
		acoes.add(AcaoNegarJogador.getInstance());
		acoes.add(AcaoMudarCapacidade.getInstance());
		acoes.add(AcaoListarJogadores.getInstance());
		acoes.add(AcaoEscolherJogador.getInstance());
	}
	
	public Acao reconhecerAcao(String comando) {
		for (Acao acao: acoes) {
			if (acao.getComandos().contains(comando)) {
				return acao;
			}
		}
		return null;
	}
	
	public static List<Acao> getAcoes() {
		return acoes;
	}
}
